package net.ericaro.neojavagen.classes;

/**
 * <b>ConstructorBody</b> ::= "{" <{@link net .ericaro .neojavagen .classes .ExplicitConstructorInvocation ExplicitConstructorInvocation}>? <
 * {@link net .ericaro .neojavagen .blocks .BlockStatements BlockStatements}>? "}"
 * 
 * @author eric@ericaro.net
 */
public class ConstructorBody extends net.ericaro.neojavagen.JavaPartComposition {
	private net.ericaro.neojavagen.blocks.BlockStatements blockStatements;

	private net.ericaro.neojavagen.classes.ExplicitConstructorInvocation explicitConstructorInvocation;

	public ConstructorBody() {
		this.explicitConstructorInvocation = null;
		this.blockStatements = null;
	}

	public ConstructorBody(net.ericaro.neojavagen.classes.ExplicitConstructorInvocation explicitConstructorInvocation, net.ericaro.neojavagen.blocks.BlockStatements blockStatements) {
		super();
		this.explicitConstructorInvocation = explicitConstructorInvocation;
		this.blockStatements = blockStatements;
	}

	public net.ericaro.neojavagen.blocks.BlockStatements getBlockStatements() {
		return blockStatements;
	}

	public net.ericaro.neojavagen.classes.ExplicitConstructorInvocation getExplicitConstructorInvocation() {
		return explicitConstructorInvocation;
	}

	public void setBlockStatements(net.ericaro.neojavagen.blocks.BlockStatements blockStatements) {
		this.blockStatements = blockStatements;
	}

	public void setExplicitConstructorInvocation(net.ericaro.neojavagen.classes.ExplicitConstructorInvocation explicitConstructorInvocation) {
		this.explicitConstructorInvocation = explicitConstructorInvocation;
	}

	@Override
	public java.lang.String toString() {
		return print("{", explicitConstructorInvocation, blockStatements, "}");
	}
}
